
package com.feib.soeasy.service;

import java.util.List;

import org.springframework.transaction.annotation.Transactional;

import com.feib.soeasy.model.LabelValue;
import com.feib.soeasy.model.PaymentConfig;
import com.feib.soeasy.pagination.PaginatedList;


/**
 * @title (#)PaymentConfigService.java<br>
 * @description <br>
 * @author Jimmy Liu<br>
 * @version 1.0.0 2010/11/25
 * @copyright Far Eastern International Bank Copyright (c) 2010<br>
 * @2011/3/5 create by Jimmy Liu<br>
 */
@Transactional(readOnly = true)
public interface PaymentConfigService {

    /**
     * @param paymentConfig 查詢條件
     * @param paginationConfig 換頁條件
     * @return
     */
    public PaginatedList<PaymentConfig> queryByPaymentConfig(PaymentConfig paymentConfig, PaginatedList<PaymentConfig> paginationConfig);

    /**
     * @param paymentConfigPk
     * @return
     */
    public PaymentConfig queryByPk(Long paymentConfigPk);

    /**
     * @param configNo
     * @param groupPk 
     * @return
     */
    public boolean isDuplicateConfigNo(String configNo, Long groupPk);

    /**
     * @param paymentConfig
     * @return
     */
    @Transactional(readOnly = false)
    public PaymentConfig addPaymentConfig(PaymentConfig paymentConfig);

    /**
     * @param paymentConfig
     * @return
     */
    @Transactional(readOnly = false)
    public PaymentConfig save(PaymentConfig paymentConfig);

    /**
     * @param paymentConfig
     */
    @Transactional(readOnly = false)
    public void deletePaymentConfig(PaymentConfig paymentConfig);

    /**
     * @param paymentConfig
     * @return
     */
    public List<LabelValue> findLabelValueByPaymentConfig(PaymentConfig paymentConfig);

}
